/**
 * 队列
 */
module.exports = class Queue {
  constructor(items) {
    this.items = items || [];
  }

  // 入队
  enqueue(element) {
    this.items.push(element);
  }

  // 出列
  dequeue() {
    this.items.shift();
  }

  // 取队列头部
  front() {
    return this.items[0];
  }

  // 清除队列
  clear() {
    this.items = [];
  }

  // 队列大小
  get size() {
    return this.items.length;
  }

  // 是否为空队列
  get isEmpty() {
    return this.items.length === 0;
  }

  // 打印队列
  print() {
    console.log(`[${this.items.toString()}]`);
  }
};
